View Javadoc

1   /*
2    * The Apache Software License, Version 1.1
3    *
4    *
5    * Copyright (c) 2001-2004 The Apache Software Foundation.  All rights
6    * reserved.
7    *
8    * Redistribution and use in source and binary forms, with or without
9    * modification, are permitted provided that the following conditions
10   * are met:
11   *
12   * 1. Redistributions of source code must retain the above copyright
13   *    notice, this list of conditions and the following disclaimer.
14   *
15   * 2. Redistributions in binary form must reproduce the above copyright
16   *    notice, this list of conditions and the following disclaimer in
17   *    the documentation and/or other materials provided with the
18   *    distribution.
19   *
20   * 3. The end-user documentation included with the redistribution,
21   *    if any, must include the following acknowledgment:
22   *       "This product includes software developed by the
23   *        Apache Software Foundation (http://www.apache.org/)."
24   *    Alternately, this acknowledgment may appear in the software itself,
25   *    if and wherever such third-party acknowledgments normally appear.
26   *
27   * 4. The names "Axis" and "Apache Software Foundation" must
28   *    not be used to endorse or promote products derived from this
29   *    software without prior written permission. For written
30   *    permission, please contact apache@apache.org.
31   *
32   * 5. Products derived from this software may not be called "Apache",
33   *    nor may "Apache" appear in their name, without prior written
34   *    permission of the Apache Software Foundation.
35   *
36   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47   * SUCH DAMAGE.
48   * ====================================================================
49   *
50   * This software consists of voluntary contributions made by many
51   * individuals on behalf of the Apache Software Foundation.  For more
52   * information on the Apache Software Foundation, please see
53   * <http://www.apache.org/>.
54   */
55  
56  package org.apache.geronimo.ews.ws4j2ee.context.wsdl.type;
57  
58  import org.apache.geronimo.ews.ws4j2ee.context.wsdl.ElementInfo;
59  import org.apache.geronimo.ews.ws4j2ee.parsers.ParserFault;
60  import org.apache.xml.utils.QName;
61  
62  import java.util.Iterator;
63  
64  /***
65   * ,p>This class represent a Schema Type.</p>
66   */
67  public interface SchemaType {
68      public static final QName ARRAY_TYPE = new QName("arrayType");
69      public static final QName SIMPLE_CONTENT = new QName("simpleContent");
70  
71      public void addAttributes(QName name, QName type);
72  
73      public QName getAttributeTypeByName(QName name);
74  
75      public Iterator getAttributeNames();
76  
77      public void addElement(ElementInfo elementInfo);
78  
79      public ElementInfo getElementTypeByName(QName name);
80  
81      public Iterator getElementNames();
82  
83      public boolean isArray();
84  
85      public void setArray(boolean b);
86  
87      /***
88       * @return the restricion base of this type or return null.
89       * @throws SAXException
90       */
91      public QName getRestrictionBase() throws ParserFault;
92  
93      /***
94       * @return get the extension type if this is extended or null
95       * @throws SAXException
96       */
97      public QName getExtentionBase() throws ParserFault;
98  
99      public QName getArrayType();
100 
101     public boolean isSimpleTypeOrSimpleContent();
102 
103 }